import request from '@/utils/request';

/** 资源管理 */
// 获取资源分页列表
export function getResourcePageApi(data) {
	return request.post({
		url: '/admin/resource/getResourcePage',
		data,
	});
}

// 获取资源详情
export function getResourceApi(id) {
	return request.post({
		url: '/admin/resource/getResource/' + id,
	});
}

// 添加资源
export function addResourceApi(data) {
	return request.post({
		url: '/admin/resource/addResource',
		data,
	});
}

// 修改资源
export function updateResourceApi(data) {
	return request.post({
		url: '/admin/resource/updateResource',
		data,
	});
}

// 删除物理文件
export function deletePhysicalFileApi(id) {
	return request.post({
		url: '/admin/resource/deletePhysicalFile/' + id,
	});
}

// 删除资源
export function deleteResourceApi(id) {
	return request.post({
		url: '/admin/resource/deleteResource/' + id,
	});
}

// 添加资源类型
export function addResourceTypeApi(data) {
	return request.post({
		url: '/admin/resourceType/addResourceType',
		data,
	});
}

// 更新资源类型
export function updateResourceTypeApi(data) {
	return request.post({
		url: '/admin/resourceType/updateResourceType',
		data,
	});
}

// 获取资源类型详情
export function getResourceTypeApi(id) {
	return request.post({
		url: '/admin/resourceType/getResourceType/' + id,
	});
}

// 获取资源类型列表
export function getResourceTypeListApi(data) {
	return request.post({
		url: '/admin/resourceType/getResourceTypeList',
		data,
	});
}

// 删除资源类型
export function deleteResourceTypeApi(id) {
	return request.post({
		url: '/admin/resourceType/deleteResourceType/' + id,
	});
}

// 上传资源文件
export function uploadResourceFileApi(formData) {
	return request.post({
		url: '/admin/resource/upload',
		data: formData,
		headers: {
			'Content-Type': 'multipart/form-data',
		},
	});
}

// 下载资源文件（增强版）
export function downloadResourceApi(id) {
	return request.get({
		url: `/admin/resource/download/${id}`,
		responseType: 'blob',
		validateStatus: (status) => status === 200,
		headers: {
			'Cache-Control': 'no-cache',
			Pragma: 'no-cache',
		},
		// 添加axios配置标记
		axiosConfig: {
			responseType: 'blob', // 明确指定响应类型
		},
	});
}
